Analytics - REST API icon

Analytics - REST API

(1 review)

Specs - Projects OUT - REST API

The Analytics API supports the following endpoints:

Retrieval of the project element

GET /rest/v1/projects/{projectId}

This endpoint allowing to GET the detailed information about a specific project referenced by its {projectId}

This endpoint supports GET operation and does not have any specific query parameters.

This endpoint requires the next HTTP header

Content-type: application/json
X-Conversation-Id: {Optional header parameter provided by the client}
X-Webhook-Correlation-Id: {Optional header parameter provided by the client in case of webhook usage}
client_id: {Mandatory header parameter provided by Dali platform}
client_secret: {Mandatory header parameter provided by Dali platform}

The payload returned by the GET operation has the following format:

{
    "header": {
        "correlationId": "{correlationId conveyed all along the transaction}",
        "conversationId": "{optionally provided by the client}",
        "businessEntity": "{Business Entity name}",
        "version": "{schema version following single digit format X}"
    },
    "data": {
        "businessEntityId": "{Unique ID of the object to be synced}",
        "lastUpdatedTimestamp": {<ISO 8601> Timestamp},
        "businessEntityDetails": {Project domain data model. See details at bottom of page}
    },
    "error": {}
}

Retrieval of the multiple project elements

GET /rest/v1/projects

This endpoint allows to GET the detailed information about the projects requested by the client. Please note that this API controls the access to the projects requested by the client and returns only the projects authorized for the client.

The check of authorization is based on the Client_Id that allows access to the set of the projects belonging to the OSMOSE + Bussiness Unit codes accessible by the client.

This endpoint supports the following query parameters and their combinations:

  • updSince={date}: query parameter allowing to GET all authorized projects updated or created since updSince date (using ISO 8601 date format YYYY-MM-DD)

Example:

GET /rest/v1/projects?updSince=2021-04-19

Return all authorized projects modified or created since 19 April 2021 included.

  • updSince={date} & updBefore={date}: query parameters allowing to GET all authorized projects updated or created since updSince date (using ISO 8601 date format YYYY-MM-DD) and before updBefore date

Example:

GET /rest/v1/projects?updSince=2021-04-19&updBefore=2021-04-20

Return all authorized projects modified or created between 19 April 2021 & 20 April 2021 included.

  • updDate={date}: query parameters allowing to GET all authorized projects updated or created at updDate

Example:

GET /rest/v1/projects?updDate=2021-04-20

Return all authorized projects modified or crea²ted between 20 April 2021.

  • osmose={osmose}: query parameters allowing to GET all authorized projects belonging to a given osmose code

Example:

GET /rest/v1/projects?osmose=24334

Return all authorized projects belonging to osmose 24334.

  • osmose={osmose} & buCode={buCode}: query parameters allowing to GET all authorized projects belonging to a given osmose code and business unit code

Example:

GET /rest/v1/projects?osmose=24334&buCode=123

Return all authorized projects belonging to osmose 24334 and business unit 123.

  • limit={nbProjects} & page={pageNumber}: query parameters using for the pagination of the requests allowing to GET a limited number of projects by request. The maximum value for the filter limit is 999. When this filter is not given, the default limited number of projects by request is 999.

Example:

GET /rest/v1/projects?limit=100&page=1
GET /rest/v1/projects?limit=100&page=2
GET /rest/v1/projects?limit=100&page=3

Return last modified 100 authorized projects then next 100 and then next 100.

This endpoint requires the next HTTP header

Content-type: application/json
X-ConversationId: {Optionall header parameter provided by the client}
client_id: {Mandatory header parameter provided by Dali platform}
client_secret: {Mandatory header parameter provided by Dali platform}

The payload returned by the operation has the following format:

{
    "header": {
        "correlationId": "{correlationId conveyed all along the transaction}",
        "conversationId": "{optionally provided by the client}",
        "businessEntity": "{Business Entity name}",
        "version": "{schema version following single digit format X}"
    },
    "data": [
        {
            "businessEntityId": "{Unique ID of the object to be synced}",
            "lastUpdatedTimestamp": {Timestamp},
            "businessEntityDetails": {Project domain data model. See details at bottom of page}
        }
    ],
    "links": {
        "selfRef": "[url]/rest/v1/projects?limit=100&page=3",
        "firstRef": "[url]/rest/v1/projects?limit=100&page=1",
        "previousRef": "[url]/rest/v1/projects?limit=100&page=2",
        "nextRef": "[url]/rest/v1/projects?limit=100&page=4"
    },
    "currentPage": 3,
    "totalPages": 5,
    "error": {}
}

The content of the businessEntityDetails has the following format:

{
    "projectId": "Project Id",
    "quotation": "",
    "quotation4": "",
    "companyCode": "Company code",
    "analyticalUnit": "Analytical unit code",
    "businessUnitDesc": "BU Description",
    "businessUnitManager": "BU Manager",
    "code": "",
    "desc": "Project long description",
    "positionCode": "Project position",
    "pType": "Project type",
    "creationDate": "Project creation date",
    "folderName": "",
    "quoteLink": "Quote Link",
    "beginDate": "Project begin date",
    "endDate": "Project end date",
    "managerId": "ID of manager",
    "managerName": "name of manager",
    "customerZCode": "",
    "customerName": "Customer Name",
    "customerCode": "Customer Code",
    "clientSite": "Client site",
    "quotationRelated": "Quotation related to the projet",
    "quotationStatus": "Status of the related quotation",
    "countryCode": "Country ISO code",
    "regroupmentCode": "Regroupment code",
    "regroupmentDescription": "",
    "sendDate": "Date of sending",
    "codexSource": "CODEX",
    "businessSegmentation": "Business segmentation",
    "customerSegmentation": "Customer segmentation",
    "companyCodeDescription": "Company code",
    "divisionGroupingCode": "Division group code",
    "divisionGroupingCodeDescription": "Division group description",
    "poleGroupingCode": "Pole group code",
    "poleGroupingCodeDescription": "Pole group description",
    "brandGroupingCode": "Brand group code",
    "brandGroupingCodeDesc": "Brand group description",
    "billingElementCode": true,
    "technicalCode": "Technical Code",
    "level": 3,
    "imputationElementCode": true,
    "dateP2": "Date of change onto P2",
    "dateP3orP6": "Date of change into closed project (P3 or P6)",
    "dateP4": "Date of change into closed project (P4)",
    "name": "Project Name",
    "businessUnitKey": "Business unit key",
    "registrationNumber": "Registration number",
    "idVinci": "",
    "sourceInterface": "",
    "InseeCode": "49211",
    "groupingCode1": "Group code 1",
    "groupingCode1description": "Group description 1",
    "groupingCode2": "Group code 2",
    "groupingCode2description": "Group description 2",
    "groupingCode3": "Group code 3",
    "groupingCode3description": "Group description 3",
    "groupingCode4": "Group code 4",
    "groupingCode4description": "Group description 4",
    "shortName": "Short project Name",
    "userZone1": "User Zone 1",
    "buCode": "BU Code",
    "userName": "Username",
    "userZone2": "User zone 2",
    "customerDiscountPrice": 0.00,
    "comments": "Comments",
    "modificationDate": "Date of modification"
}

Reviews